/**    
 * 文件名：PaymentConstant.java</br>
 *    
 * 版本信息：v1.0</br>
 * 日期：2017年7月12日</br>
 * © 2005-2017 雷技信息科技（上海）有限公司版权所有</br>
 *
 */
package com.logic.landseaserver.models.payment;

import com.logic.landseaserver.common.enums.BTypeEnum;

/**
 *
 * 项目名称：system-server</br>
 * 类名称：PaymentConstant</br>
 * 类描述：支付用到的所有常量</br>
 * 创建人：Aaron</br>
 * 创建时间：2017年7月12日 上午11:01:25</br>
 * @version 1.0
 *
 */
public interface PaymentConstant
{
    /** 下划线分隔符 **/
    public static final String UNDERLINE_SEPARATOR = "_";
    
    /** 支付请求类bean后缀 **/
    public static final String PAYMENT_REQUEST_SUFFIX = "_PaymentRequestHandler";
    
    /** 支付响应处理类bean后缀 **/
    public static final String PAYMENT_RESPONSE_SUFFIX = "_PaymentResponseHandler";
    
    /** 生成BillPayment前缀 **/
    public static final String GENETRATE_BILLPAYMENT_PREFIX = "BillPaymentChannel_";
    
    /** 继续执行回调流程 **/
    public static final boolean RESPONSE_PROCESS_CONTINUE = true;
    
    /** 结束回调流程 **/
    public static final boolean RESPONSE_PROCESS_STOP = false;
    
    /** 支付回调处理完毕事务提交后处理标记,默认无处理 **/
    public static final String AFTER_RESP_COMMIT_TRANSACTION = "AFTER_RESP_COMMIT_TRANSACTION";
    
    /**
     * 
     *
     * 项目名称：system-server</br>
     * 类名称：BillType</br>
     * 类描述：账单类型</br>
     * 创建人：Aaron</br>
     * 创建时间：2017年7月13日 上午10:27:30</br>
     * @version 1.0
     *
     */
    public interface BillType
    {
        /** 首期账单 **/
        public static final String FIRST_PAY = BTypeEnum._BT1.getCode();
        
        /** 月结账单 **/
        public static final String MONTH_PAY = BTypeEnum._BT2.getCode();
        
        /** 实时账单 **/
        public static final String REAL_TIME = BTypeEnum._BT3.getCode();
        
        /** 预定账单 **/
        public static final String RESERVE = BTypeEnum._BT4.getCode();
    }
    
    /**
     * 
     *
     * 项目名称：system-server</br>
     * 类名称：BillType</br>
     * 类描述：账单类型</br>
     * 创建人：Aaron</br>
     * 创建时间：2017年7月6日 下午8:27:00</br>
     * @version 1.0
     *
     */
    public interface BillTypeCode
    {
        /** 首期款 **/
        public static final String FIRST_PAY = "_BT1";
        
        /** 月结账单 **/
        public static final String MONTH_PAY = "_BT2";
        
        /** 实时账单 **/
        public static final String REAL_TIME = "_BT3";
        
        /** 预定账单 **/
        public static final String RESERVE = "_BT4";
        
        /** 充值 **/
        public static final String RECHARGE = "_Recharge";

        /**预结算单**/
        public static final String PRE_BILL_PAY= "_BT7";
    }
    
    /**
     * 
     *
     * 项目名称：system-server</br>
     * 类名称：PayChannel</br>
     * 类描述：支付渠道</br>
     * 创建人：Aaron</br>
     * 创建时间：2017年7月12日 上午11:07:21</br>
     * @version 1.0
     *
     */
    public interface PayChannel
    {
        /** 刷POS **/
        public static final String POS = "POS";
        
        /** 微众支付 **/
        public static final String WEBANK = "WEBANK";
        
        /** 银石支付 **/
        public static final String SHIJI = "SHIJI";
        
        /** 银石POS支付 **/
        public static final String SHIJI_POS = "SHIJI_POS";

        /** 水费押金结转 **/
        public static final String WATER_DEPOSIT = "WATERDEPOSIT";

        /** 房屋押金结转 **/
        public static final String HOURSEDEPOSIT = "HOURSEDEPOSIT";
    }
    
    /**
     * 
     *
     * 项目名称：system-server</br>
     * 类名称：PayType</br>
     * 类描述：支付方式</br>
     * 创建人：Aaron</br>
     * 创建时间：2017年7月12日 上午11:07:21</br>
     * @version 1.0
     *
     */
    public interface PayType
    {
        /** 支付方式(网页)：POS **/
        public static final String POS = "POS";
        
        /** 支付方式(网页)：微众-微信支付 **/
        public static final String WEBANK_WECHAT = "WEBANK_WECHAT";
        
        /** 支付方式(网页)：微众-支付宝 **/
        public static final String WEBANK_ALIPAY = "WEBANK_ALIPAY";
        
        /** 支付方式(移动)：微众-移动收银台 **/
        public static final String WEBANK_MOBILE = "WEBANK_MOBILE";
        
        /** 支付方式(网页)：银石支付-POS **/
        public static final String SHIJI_POS = "SHIJI_POS";
        
        /** 支付方式(网页)：银石支付-微信 **/
        public static final String SHIJI_WECHAT = "SHIJI_WECHAT";
        
        /** 支付方式(网页)：银石支付-支付宝 **/
        public static final String SHIJI_ALIPAY = "SHIJI_ALIPAY";
        
        /** 支付方式(移动)：银石支付-移动收银台 **/
        public static final String SHIJI_MOBILE = "SHIJI_MOBILE";
        
        /** 支付方式：授权码转入账户 **/
        public static final String AUTHCODE_ALIPAY = "AUTHCODE_ALIPAY";
        
        /** 支付方式：余额支付 **/
        public static final String BALANCE_AUTOPAY = "BALANCE_AUTOPAY";
    }
    
    /**
     * 
     *
     * 项目名称：system-server</br>
     * 类名称：BillPaymentStatus</br>
     * 类描述：支付状态</br>
     * 创建人：Aaron</br>
     * 创建时间：2017年7月19日 下午5:01:02</br>
     * @version 1.0
     *
     */
    public interface BillPaymentStatus
    {
        /** 支付成功 **/
        public static final String SUCCESS = "BPST1";
        
        /** 未支付 **/
        public static final String NONE = "BPST2";
        
        /** 支付失败 **/
        public static final String FAILED = "BPST3";        
    }
    
    /**
     * 
     *
     * 项目名称：system-server</br>
     * 类名称：PayBank</br>
     * 类描述：支付银行</br>
     * 创建人：Aaron</br>
     * 创建时间：2017年7月19日 下午5:07:13</br>
     * @version 1.0
     *
     */
    public interface PayBank
    {
        /** POS **/
        public static final String POS = "POS";
        
        /** 微众银行 **/
        public static final String WEBNAK = "微众银行";
        
        /** 微众收银台 **/
        public static final String WEBNAK_MOBILE = "微众收银台";
        
        /** 银石智能POS **/
        public static final String SHIJI_POS = "银石智能POS";
        
        /** 银石支付 **/
        public static final String SHIJI = "银石支付";
    }
}
